{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##  3.5证据近似"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "引入超参数$\\alpha$和$\\beta$上的超先验分布，那么预测分布可以写为:\n",
    "$$p(t|\\mathbf t)=\\iiint p(t|\\mathbf {w},\\beta)p(w|\\mathbf t,\\alpha,\\beta)p(\\alpha,\\beta|\\mathbf t)dwd\\alpha d\\beta$$\n",
    "\n",
    "固定$\\alpha$,$\\beta$为$\\hat \\alpha$,$\\hat\\beta$:\n",
    "\n",
    "$$p(t|\\mathbf t)\\simeq p(t|\\mathbf t,\\hat \\alpha,\\hat\\beta)=\\int p(t|\\mathbf w,\\hat\\beta)p(w|\\mathbf t,\\hat\\alpha,\\hat\\beta)dw$$\n",
    "\n",
    "根据贝叶斯定理,$\\alpha, \\beta$的后验分布为:\n",
    "$$p(\\alpha,\\beta|\\mathbf t)\\propto p(\\mathbf t|\\alpha,\\beta)p(\\alpha,\\beta)$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "在这个框架下$\\hat\\alpha, \\hat\\beta$就可以通过最大化边缘似然函数$p(\\mathbf t|\\alpha,\\beta)$来求出,我们接下来会计算线性基函数模型的边缘似然函数，然后找到它的最⼤值。这将使我们能够从训练数据本⾝确定这些超参数的值，⽽不需要交叉验证\n",
    "$$p(\\mathbf t|\\alpha,\\beta)=\\int p(t|\\mathbf w,\\beta)p(\\mathbf w|\\alpha)dw$$\n",
    "通过线性高斯模型的条件概率公式或使用指数项配平的方法我们可以得到对数似然：\n",
    "$$lnp(\\mathbf t|\\alpha,\\beta)=\\frac{M}{2}ln\\alpha+\\frac{N}{2}ln\\beta-E(m_N)-\\frac{1}{2}ln|A|-\\frac{N}{2}ln(2\\pi)$$\n",
    "$$m_N=\\beta A^{-1}\\Phi^T\\mathbf t$$\n",
    "$$A=\\alpha\\mathbf I+\\beta\\Phi^T\\Phi$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 最大化证据函数"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$p(\\mathbf t|\\alpha,\\beta)$对$\\alpha$最大化\n",
    "定义:$$(\\beta\\Phi^T\\Phi)\\mu_i=\\lambda_i\\mu_i$$\n",
    "似然函数中$ln|A|$的项关于$\\alpha$的导数为:\n",
    "\n",
    "$$\\frac{d}{d\\alpha}ln|A|=\\frac{d}{d\\alpha}ln\\prod_i(\\lambda_i+\\alpha)=\\frac{d}{d\\alpha}\\sum_iln(\\lambda_i+\\alpha)=\\sum_i\\frac{1}{\\lambda_i+\\alpha}$$\n",
    "\n",
    "所以$\\alpha$满足:\n",
    "$$\\alpha=\\frac{\\gamma}{m_N^Tm_N}\\\\\n",
    "\\gamma=\\sum_i\\frac{\\lambda_i}{\\alpha+\\lambda_i}$$\n",
    "可以发现$\\alpha$无法显示求解，后验概率的众数$m_N$和$\\gamma$都与$\\alpha$有关。只有选择一个$\\alpha$的初始值然后计算A再算出$m_N$，然后计算$\\gamma$,最后估计$\\alpha$，迭代直至收敛"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "类似的关于$\\beta$最⼤化对数边缘似然函数:\n",
    "$$\\frac{d}{d\\beta}ln|A|=\\frac{d}{d\\beta}\\sum_iln(\\lambda_i+\\alpha)=\\frac{1}{\\beta}\\sum_i\\frac{\\lambda_i}{\\lambda_i+\\alpha}=\\frac{\\gamma}{\\beta}$$\n",
    "整理得到:\n",
    "$$\\beta^{-1}=\\frac{1}{N-\\gamma}\\sum_{n=1}^{N}\\{t_n-m_N^T\\phi(x_n)\\}^2$$"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "import sys\n",
    "#sys.path\n",
    "sys.path.append(\"../\")\n",
    "import matplotlib.animation as animation\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "%matplotlib inline\n",
    "from prml.linear import EmpiricalBayesRegressor\n",
    "from prml.features import PolynomialFeatures\n",
    "\n",
    "np.random.seed(666)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[ 2.24137931 -1.20689655 -3.96551724  0.17241379  0.86206897  3.96551724\n",
      " -5.          3.62068966 -1.55172414  1.20689655  3.27586207  2.93103448\n",
      "  1.89655172  4.31034483  5.          4.65517241 -3.27586207 -2.5862069\n",
      " -2.24137931  2.5862069   0.51724138 -4.65517241 -0.17241379  1.55172414\n",
      " -3.62068966 -1.89655172 -2.93103448 -0.51724138 -4.31034483 -0.86206897]\n"
     ]
    }
   ],
   "source": [
    "def cubic(x):\n",
    "    return x*(x-5)*(x+5)\n",
    "def create_toy_data(func, sample_size, std, domain=[0, 1]):\n",
    "    x = np.linspace(domain[0], domain[1], sample_size)\n",
    "    np.random.shuffle(x)\n",
    "    t = func(x) + np.random.normal(scale=std, size=x.shape)\n",
    "    return x, t\n",
    "x_train, y_train = create_toy_data(cubic, 30, 10, [-5, 5])\n",
    "print(x_train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([-36.94057427,  23.70618248,  42.91497387,  -6.4799834 ,\n",
       "       -18.69137027, -55.45239397,  -2.55847593, -60.69600399,\n",
       "        25.63181908, -44.21903526, -37.69511769, -56.35828552,\n",
       "       -32.38193328, -24.00515234,  16.53995858, -14.10414318,\n",
       "        34.57084836,  37.40794156,  29.12942484, -63.64531567,\n",
       "        -0.47516586,   6.36278708,   1.5967789 , -20.85429654,\n",
       "        33.22955177,  48.68972004,  66.61597553,  29.57455453,\n",
       "        17.86871913,  25.6141747 ])"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "y_train"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fd2e776f0b8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\nEaWUUi77f/rSxPBZBKHOAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fd2e26f9f28>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "x_test = np.linspace(-5, 5, 100)\n",
    "evidences = []\n",
    "models = []\n",
    "for i in range(8):\n",
    "    feature = PolynomialFeatures(degree=i)\n",
    "    X_train = feature.transform(x_train)\n",
    "    model = EmpiricalBayesRegressor(alpha=100., beta=100.)\n",
    "    model.fit(X_train, y_train, max_iter=100)\n",
    "    evidences.append(model.log_evidence(X_train, y_train))\n",
    "    models.append(model)\n",
    "\n",
    "degree = np.nanargmax(evidences)\n",
    "regression = models[degree]\n",
    "\n",
    "X_test = PolynomialFeatures(degree=int(degree)).transform(x_test)\n",
    "y, y_std = regression.predict(X_test, return_std=True)\n",
    "\n",
    "ax,fig=plt.subplots(2,1)plt.scatter(x_train, y_train, s=50, facecolor=\"none\", edgecolor=\"steelblue\", label=\"observation\")\n",
    "plt.plot(x_test, cubic(x_test), label=\"x(x-5)(x+5)\")\n",
    "plt.plot(x_test, y, label=\"prediction\")\n",
    "plt.fill_between(x_test, y - y_std, y + y_std, alpha=0.5, label=\"std\", color=\"orange\")\n",
    "plt.legend()\n",
    "plt.show()\n",
    "\n",
    "plt.plot(evidences)\n",
    "plt.title(\"Model evidence\")\n",
    "plt.xlabel(\"degree\")\n",
    "plt.ylabel(\"log evidence\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.1"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
